package com.flying.keyword.packageandimport;




import com.flying.classmember.blockorder.Father;
import com.flying.keyword.fina.Person;
import com.flying.poly.Student;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;


/**
 * @author liupengfei
 * @ClassName: PackageDemo
 * @Time: 2023-08-10 20:25
 * @Descition
 *
 *
 * 一 .package关键字的使用
 *  1. 为了更好的视实现项目中类的管理,提供了包的概念
 *  2. 使用package声明类或接口所属的包,声明在源文件的首行
 *  3. 包属于标识符,遵循标识符的命名规则,规范(xxxyyyzzz)."见名知意"
 *  4. 每 . 一次,就代表一层文件目录
 *
 *  补充: 同一个包下,不能命名同名的接口.类
 *       不同的包下,可以命名同名的接口.类
 *
 *  二. import关键字的使用
 *  import :导入
 *  1. 在源文件中显示的使用import结构导入指定包下的类和接口
 *  2. 声明在包和类的声明之间
 *  3. 如果需要导入多个结构,则并列写出
 *  4. 可以使用 xxx.*; 的方式,表示可以导入xxx包下的所有结构
 *  5. 如果使用的列和接口时 java.lang包下定义的,则可以省略import结构
 *  6. 如果使用的类或接口是本包下定义的,则也可以省略import结构
 *  7. 如果在源文件中使用了不同包下的同名的类,则必须至少有一个类需要以全类名的方式显示
 *  8. 如果使用"xxx.*"方式表明可以调用xxx包下的所有结构.如果使用的是xxx子包下的结构,则需要显示导入
 *  9. import static : 导入指定类和接口里的静态结构(属性或方法)
 *
 */
public class PackageDemo {
    public static void main(String[] args) {

        System.out.println(Arrays.toString(new int[]{1, 2, 3, 4, 5}));

        Student student=new Student();

        ArrayList<Person> list=new ArrayList<>();
        list.add(new Person());

        Scanner scanner=null;

        Father f=new Father();
        //  全类名的方式显示
//        inheritance.constructor.Father f2= new inheritance.constructor.Father(11);

        Field field=null;

        System.out.println(Arrays.toString(new int[]{1, 2, 3, 4,}));
    }

}
